package xyz.xtt.asset.vo;

import java.util.List;

import com.google.common.collect.Lists;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Builder.Default;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author huqibo
 *
 */
@Schema(description = "订单状态变化消息")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class PaySyncMessageVo {
	@NotBlank(message = "订单号不能为空")
	@NotNull(message = "订单号不能为空")
	@Schema(description = "交易流水号")
	private String tradeNo;
	@NotBlank(message = "订单类型不能为空")
	@NotNull(message = "订单类型不能为空")
	@Schema(description = "订单类型")
	private String orderType;
	@Schema(description = "支付订单号")
	private String orderNo;
	@Schema(description = "支付状态")
	private String state;
	@Schema(description = "应用userId")
	private String outUserId;
	@Schema(description = "资产中心标记")
	private String cacheData;
	@Default
	@Schema(description = "订单清单列表")
	private List<OrderItemVo> orderItemStatusList = Lists.newArrayList();
}
